package service;

import java.util.List;

import net.sf.json.JSONArray;
import dao.NoteCategoryDAO;
import domain.NoteCategory;

/**
 * 笔记分类Service接口.
 * <p>
 * 创建日期：2010-07-01<br>
 * 创建人：Xiyt<br>
 * 修改日期：<br>
 * 修改人：<br>
 * 修改内容：<br>
 * 
 * @author Xiyt
 * @version 1.0
 */
public interface NoteCategoryService {

	/**
	 * 设定分类Dao
	 * */
	public void setNoteCategoryDao(NoteCategoryDAO noteCategoryDao);
	
	/**
	 * 设定笔记Service
	 * @param noteService
	 *            the noteService to set
	 */
	public void setNoteService(NoteService noteService);
	
	/**
	 * 查询分类数量
	 * @param paramCategory 分类
	 * @return int 分类数量
	 */
	public int countByCriteria(NoteCategory paramNoteCategory);

	/**
	 * 查询分类列表不带分页
	 * @param paramCategory 分类
	 * @return List 分类列表
	 */
	public List<NoteCategory> selectByCriteria(NoteCategory paramNoteCategory);

	/**
	 * 查询分类树
	 * @return JSONArray 分类树
	 */
	public JSONArray selectNoteCategoryForTree();

	/**
	 * 查询分类列表带分页
	 * @param paramCategory 分类
	 * @return List 分类列表
	 */
	public List<NoteCategory> selectByCriteriaForPaging(NoteCategory paramNoteCategory);
	
	/**
	 * 添加分类
	 * @param paramCategory 分类
	 */
	public void insert(NoteCategory paramNoteCategory);
	
	
	/**
	 * 修改分类
	 * @param paramCategory 分类
	 */
	public void update(NoteCategory paramNoteCategory);
	
	
	/**
	 * 删除分类
	 * @param categoryId 分类ID
	 */
	public void delete(int categoryId);
}
